/*
	This file is part of Sandbox.

	Copyright (C) 2008  Marleine Daoud <marleine@gmail.com>

	Sandbox is free software: you can redistribute it and/or modify
	it under the terms of the GNU General Public License as published by
	the Free Software Foundation, either version 3 of the License, or
	(at your option) any later version.

	Sandbox is distributed in the hope that it will be useful,
	but WITHOUT ANY WARRANTY; without even the implied warranty of
	MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
	GNU General Public License for more details.

	You should have received a copy of the GNU General Public License 
	along with Sandbox.  If not, see <http://www.gnu.org/licenses/>.
*/

/** 
* Enum for Node Type.
* Enum for the Node Type as a "rectangle", "ellipse", "triangle" or "note".
*
* @author Marleine Daoud
*/

typedef enum _NodeType {
	RECTANGLE = 0,
	ELLIPSE,
	TRIANGLE,
	NOTE
} NodeType;

/** 
* Struct for Color in RGBA.
* Struct for the Color in RGBA as floats "R" for red, "G" for green, "B" for 
* blue and "A" for alpha.
*
* @author Marleine Daoud
*/

typedef struct _ColorRGBA {
	float R, G, B, A;	
} ColorRGBA;

/** 
* Enum for Border Style Type.
* Enum for the Border Style Type as a "continuous" or "dashed".
*
* @author Marleine Daoud
*/

typedef enum _BorderStyle {
	CONTINUOUS = 0,
	DASHED
} BorderStyle;

/** 
* Struct for Node Properties.
* Struct for the Node's Properties as "type" of type NodeType, "lineStyle" of 
* type BorderStyle, "lineColor" of type ColorRGBA, "fillColor" of type ColorRGBA 
* and "comment" of type character array.
*
* @author Marleine Daoud
*/

typedef struct _Properties {
	NodeType type;
	BorderStyle lineStyle;
	ColorRGBA lineColor;
	ColorRGBA fillColor;
	char *comment;
} Properties;

